﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kokomo.Lexical.Expressions;
using System.Reflection;

namespace Kokomo.PeInspector.Reflection
{
	class MetadataTokenExpression : IntegerConstantExpression
	{
		public MemberInfo Member { get; private set; }
		public MetadataTokenExpression(MemberInfo member)
			: base(member.MetadataToken)
		{
			if (member == null) throw new ArgumentNullException("member");

			this.Member = member;
		}
		//protected override ExpressionResult ExecuteCore(ExpressionEvaluationContext context, ExpressionExecutionMode mode)
		//{
		//    throw new NotImplementedException();
		//}

		//public override Type Compile(ExpressionCompilationContext context)
		//{
		//    throw new NotImplementedException();
		//}
	}
}
